home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / OCETemplates.idl < prev    next >
Text File  |  1996-05-01  |  17KB  |  382 lines

  1. /*
  2.      File:        OCETemplates.idl
  3.  
  4.      Contains:    Apple Open Collaboration Environment Templates Interfaces.
  5.  
  6.      Version:    Technology:    AOCE Toolbox 1.02
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __OCETEMPLATES_IDL__
  19. #define __OCETEMPLATES_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #ifndef __EVENTS_IDL__
  28. #include <Events.idl>
  29. #endif
  30. #ifndef __OCE_IDL__
  31. #include <OCE.idl>
  32. #endif
  33. #ifndef __OCESTANDARDMAIL_IDL__
  34. #include <OCEStandardMail.idl>
  35. #endif
  36.  
  37. #ifdef __SOMIDL__
  38.  
  39. #if FOR_SYSTEM7_ONLY
  40. /***********************************************************************************/
  41. /********************************* Code Resources: *********************************/
  42. /***********************************************************************************/
  43. /* Target specification: */
  44. typedef long                    DETTargetSelector;
  45.  
  46. typedef SOMLargeStruct            DETTargetSpecification;        /* Derived from a struct of 16 bytes in size */
  47.  
  48. /*
  49.  Code resource calls and call-backs both return an OSType:
  50.         kDETDidNotHandle (1)    = used by template to say "I didn't handle it" (for calls only)
  51.         noErr                    = function completed successfully
  52.         any error                = function failed, and here's why
  53. */
  54. /*
  55.  Call-back functions:
  56.  
  57.         reqFunction                            Action
  58.         -----------                            ------
  59.         kDETcmdBeep                            Call SysBeep; useful for testing that a code resource's calls/call-backs are working at all
  60.  
  61.         kDETcmdBusy                            Put up watch cursor and switch processes; user events elicit a beep
  62.  
  63.         kDETcmdChangeCallFors                Change call-fors mask
  64.  
  65.         kDETcmdGetCommandSelectionCount        Get the command selection count (for calls which have a command selection list)
  66.         kDETcmdGetCommandItemN                Get command selection item n (for calls which have a command selection list)
  67.  
  68.         kDETcmdOpenDSSpec                    PackedDSSpec open (can also be done via AppleEvents -- this is a short-cut)
  69.  
  70.         kDETcmdAboutToTalk                    About to talk to user: bring us to front, disable watch cursor, etc.
  71.  
  72.         kDETcmdUnloadTemplates                Flush templates
  73.  
  74.         kDETcmdTemplateCounts                Return number of aspect and info-page templates in system
  75.  
  76.         kDETcmdGetDSSpec                    Get the PackedDSSpec for this object
  77.  
  78.         kDETcmdSublistCount                    Return the count of the sublist items
  79.         kDETcmdSelectedSublistCount            Return the count of the selected sublist items
  80.  
  81.         kDETcmdRequestSync                    Request a sync-up of the aspect with the catalog
  82.  
  83.         kDETcmdBreakAttribute                Break an attribute -- apply all applicable patterns to an attribute to generate properties
  84.  
  85.         kDETcmdGetTemplateFSSpec            Get the FSSpec of the file containing the template
  86.  
  87.         kDETcmdGetOpenEdit                    Return the property of the view being edited (or kDETNoProperty if none)
  88.         kDETcmdCloseEdit                    Close the current edit
  89.  
  90.         kDETcmdGetPropertyType                Get a property type
  91.  
  92.         kDETcmdGetPropertyNumber            Get a property, number format
  93.         kDETcmdGetPropertyRString            Get a property, RString format
  94.         kDETcmdGetPropertyBinarySize        Get a property, binary, return size
  95.         kDETcmdGetPropertyBinary            Get a property, binary format
  96.  
  97.         kDETcmdGetPropertyChanged            Get a property changed flag
  98.         kDETcmdGetPropertyEditable            Get a property editable flag
  99.  
  100.         kDETcmdSetPropertyType                Set a property type
  101.  
  102.         kDETcmdSetPropertyNumber            Set a property, number format
  103.         kDETcmdSetPropertyRString            Set a property, RString format
  104.         kDETcmdSetPropertyBinary            Set a property, binary data & size
  105.  
  106.         kDETcmdSetPropertyChanged            Set a property changed flag
  107.         kDETcmdSetPropertyEditable            Set a property editable flag
  108.  
  109.         kDETcmdDirtyProperty                Dirty a property (notify other code resources of change)
  110.  
  111.         kDETcmdDoPropertyCommand            Issue a property command
  112.  
  113.         kDETcmdAddMenu                        Add to the end of a dynamic menu
  114.         kDETcmdRemoveMenu                    Remove a dynamic menu item
  115.         kDETcmdMenuItemRString                Get a dynamic menu item RString
  116.  
  117.         kDETcmdSaveProperty                    Force a save of a property -- apply all applicable patterns to write out the property
  118.  
  119.         kDETcmdGetCustomViewUserReference    Get custom view user reference (as given in .r file)
  120.         kDETcmdGetCustomViewBounds            Get custom view current bounds
  121.  
  122.         kDETcmdGetResource                    Get a resource from a template
  123. */
  124. typedef unsigned long            DETCallBackFunctions;
  125.  
  126. /*
  127.  Call functions:
  128.  
  129.         reqFunction                        Action
  130.         -----------                        ------
  131.         kDETcmdInit                        Called once when template is first loaded (good time to allocate private data); returns call-for list
  132.         kDETcmdExit                        Called once when template is freed (good time to free private data)
  133.  
  134.         kDETcmdAttributeCreation        New sublist attribute creation about to occur; this gives the template a chance to modify
  135.                                         the value that's about to be created; sent to the template that will be used for
  136.                                         the main aspect of the new entry
  137.  
  138.         kDETcmdDynamicForwarders        Return a list of dynamically created forwarders
  139.  
  140.         kDETcmdInstanceInit                Called once when instance of template is started (good time to allocate private instance data)
  141.         kDETcmdInstanceExit                Called once when instance is ended (good time to free private instance data)
  142.  
  143.         kDETcmdIdle                        Called periodically during idle times
  144.  
  145.         kDETcmdViewListChanged            Called when the info-page view-list (list of enabled views) has changed
  146.  
  147.         kDETcmdValidateSave                Validate save: about to save info-page, return noErr (or kDETDidNotHandle) if it's OK to do so
  148.  
  149.         kDETcmdDropQuery                Drop query: return the appropriate operation for this drag; ask destination
  150.         kDETcmdDropMeQuery                Drop query: return the appropriate operation for this drag; ask dropee
  151.  
  152.         kDETcmdAttributeNew                Attribute value new (return kDETDidNotHandle to let normal new processing occur)
  153.         kDETcmdAttributeChange            Attribute value change (return kDETDidNotHandle to let normal change processing occur)
  154.         kDETcmdAttributeDelete            Attribute value delete (return kDETDidNotHandle to let normal deletion occur); sent to the
  155.                                         main aspect of the attribute that's about to be deleted
  156.         kDETcmdItemNew                    Target item (record or attribute) has just been created
  157.  
  158.         kDETcmdOpenSelf                    Self open (return noErr to prevent opening; return kDETDidNotHandle to allow it)
  159.  
  160.         kDETcmdDynamicResource            Return a dynamically created resource
  161.  
  162.         kDETcmdShouldSync                Check if the code resource wants to force a sync (update data from catalog)
  163.         kDETcmdDoSync                    Give code resource a chance to sync (read in and break all attributes)
  164.  
  165.         kDETcmdPropertyCommand            Command received in the property number range (usually means a button's been pushed)
  166.  
  167.         kDETcmdMaximumTextLength        Return maximum size for text form of property
  168.  
  169.         kDETcmdPropertyDirtied            Property dirtied, need to redraw
  170.  
  171.         kDETcmdPatternIn                Custom pattern element encountered on reading in an attribute
  172.         kDETcmdPatternOut                Custom pattern element encountered on writing out an attribute
  173.  
  174.         kDETcmdConvertToNumber            Convert from template-defined property type to number
  175.         kDETcmdConvertToRString            Convert from template-defined property type to RString
  176.         kDETcmdConvertFromNumber        Convert from number to template-defined property type
  177.         kDETcmdConvertFromRString        Convert from RString to template-defined property type
  178.  
  179.         kDETcmdCustomViewDraw            Custom view draw
  180.         kDETcmdCustomViewMouseDown        Custom view mouse down
  181.  
  182.         kDETcmdKeyPress                    Key press (used primarily to filter entry into EditText views)
  183.         kDETcmdPaste                    Paste (used primarily to filter entry into EditText views)
  184.  
  185.         kDETcmdCustomMenuSelected        Custom Catalogs menu selected
  186.         kDETcmdCustomMenuEnabled        Return whether custom Catalogs menu entry should be enabled
  187. */
  188. typedef unsigned long            DETCallFunctions;
  189.  
  190. /* Valid commandIDs for DETDropQueryBlock and DETDropMeQueryBlock (in addition to property numbers): */
  191. typedef SOMLargeStruct            DETProtoCallBackBlock;        /* Derived from a struct of 22 bytes in size */
  192.  
  193. typedef SOMFourByteStruct        DETBeepBlock;                /* Derived from a struct of 4 bytes in size */
  194.  
  195. typedef SOMFourByteStruct        DETBusyBlock;                /* Derived from a struct of 4 bytes in size */
  196.  
  197. typedef SOMLargeStruct            DETChangeCallForsBlock;        /* Derived from a struct of 24 bytes in size */
  198.  
  199. typedef SOMLargeStruct            DETGetCommandSelectionCountBlock; /* Derived from a struct of 8 bytes in size */
  200.  
  201. typedef unsigned long            DETItemType;
  202.  
  203. /* FSSpec plus possibly interesting additional info */
  204. typedef SOMLargeStruct            DETFSInfo;                    /* Derived from a struct of 80 bytes in size */
  205.  
  206. typedef SOMLargeStruct            DSRec;                        /* Derived from a struct of 10 bytes in size */
  207.  
  208. typedef SOMLargeStruct            ItemRec;                    /* Derived from a struct of 22 bytes in size */
  209.  
  210. typedef SOMLargeStruct            DETGetCommandItemNBlock;    /* Derived from a struct of 22 bytes in size */
  211.  
  212. typedef SOMLargeStruct            DETGetDSSpecBlock;            /* Derived from a struct of 32 bytes in size */
  213.  
  214. typedef SOMLargeStruct            DETGetTemplateFSSpecBlock;    /* Derived from a struct of 96 bytes in size */
  215.  
  216. typedef SOMLargeStruct            DETGetOpenEditBlock;        /* Derived from a struct of 22 bytes in size */
  217.  
  218. typedef SOMLargeStruct            DETCloseEditBlock;            /* Derived from a struct of 20 bytes in size */
  219.  
  220. typedef SOMLargeStruct            DETGetPropertyTypeBlock;    /* Derived from a struct of 24 bytes in size */
  221.  
  222. typedef SOMLargeStruct            DETGetPropertyNumberBlock;    /* Derived from a struct of 26 bytes in size */
  223.  
  224. typedef SOMLargeStruct            DETGetPropertyRStringBlock;    /* Derived from a struct of 26 bytes in size */
  225.  
  226. typedef SOMLargeStruct            DETGetPropertyBinarySizeBlock; /* Derived from a struct of 26 bytes in size */
  227.  
  228. typedef SOMLargeStruct            DETGetPropertyBinaryBlock;    /* Derived from a struct of 26 bytes in size */
  229.  
  230. typedef SOMLargeStruct            DETGetPropertyChangedBlock;    /* Derived from a struct of 24 bytes in size */
  231.  
  232. typedef SOMLargeStruct            DETGetPropertyEditableBlock; /* Derived from a struct of 24 bytes in size */
  233.  
  234. typedef SOMLargeStruct            DETSetPropertyTypeBlock;    /* Derived from a struct of 24 bytes in size */
  235.  
  236. typedef SOMLargeStruct            DETSetPropertyNumberBlock;    /* Derived from a struct of 26 bytes in size */
  237.  
  238. typedef SOMLargeStruct            DETSetPropertyRStringBlock;    /* Derived from a struct of 26 bytes in size */
  239.  
  240. typedef SOMLargeStruct            DETSetPropertyBinaryBlock;    /* Derived from a struct of 30 bytes in size */
  241.  
  242. typedef SOMLargeStruct            DETSetPropertyChangedBlock;    /* Derived from a struct of 24 bytes in size */
  243.  
  244. typedef SOMLargeStruct            DETSetPropertyEditableBlock; /* Derived from a struct of 24 bytes in size */
  245.  
  246. typedef SOMLargeStruct            DETDirtyPropertyBlock;        /* Derived from a struct of 22 bytes in size */
  247.  
  248. typedef SOMLargeStruct            DETDoPropertyCommandBlock;    /* Derived from a struct of 26 bytes in size */
  249.  
  250. typedef SOMLargeStruct            DETSublistCountBlock;        /* Derived from a struct of 24 bytes in size */
  251.  
  252. typedef SOMLargeStruct            DETSelectedSublistCountBlock; /* Derived from a struct of 24 bytes in size */
  253.  
  254. typedef SOMLargeStruct            DETRequestSyncBlock;        /* Derived from a struct of 20 bytes in size */
  255.  
  256. typedef SOMLargeStruct            DETAddMenuBlock;            /* Derived from a struct of 34 bytes in size */
  257.  
  258. typedef SOMLargeStruct            DETRemoveMenuBlock;            /* Derived from a struct of 26 bytes in size */
  259.  
  260. typedef SOMLargeStruct            DETMenuItemRStringBlock;    /* Derived from a struct of 30 bytes in size */
  261.  
  262. typedef SOMLargeStruct            DETOpenDSSpecBlock;            /* Derived from a struct of 8 bytes in size */
  263.  
  264. typedef SOMFourByteStruct        DETAboutToTalkBlock;        /* Derived from a struct of 4 bytes in size */
  265.  
  266. typedef SOMLargeStruct            DETBreakAttributeBlock;        /* Derived from a struct of 26 bytes in size */
  267.  
  268. typedef SOMLargeStruct            DETSavePropertyBlock;        /* Derived from a struct of 22 bytes in size */
  269.  
  270. typedef SOMLargeStruct            DETGetCustomViewUserReferenceBlock; /* Derived from a struct of 24 bytes in size */
  271.  
  272. typedef SOMLargeStruct            DETGetCustomViewBoundsBlock; /* Derived from a struct of 30 bytes in size */
  273.  
  274. typedef SOMLargeStruct            DETGetResourceBlock;        /* Derived from a struct of 30 bytes in size */
  275.  
  276. typedef SOMLargeStruct            DETTemplateCounts;            /* Derived from a struct of 12 bytes in size */
  277.  
  278. typedef SOMFourByteStruct        DETUnloadTemplatesBlock;    /* Derived from a struct of 4 bytes in size */
  279.  
  280. typedef SOMLargeStruct            DETCallBackBlock;            /* Derived from a struct of 950 bytes in size */
  281.  
  282. typedef OpaquePtr                DETCallBackBlockPtr;        /* Substituted OpaquePtr for ``DETCallBackBlock*'' */
  283.  
  284.  
  285.  
  286. typedef OpaquePtr                DETCallBlockPtr;            /* Substituted OpaquePtr for ``DETCallBlock*'' */
  287.  
  288. typedef OpaquePtr DETCallBackProcPtr;
  289. typedef OpaquePtr DETCallBackUPP;
  290. typedef DETCallBackUPP            DETCallBack;
  291.  
  292. typedef SOMLargeStruct            DETProtoCallBlock;            /* Derived from a struct of 40 bytes in size */
  293.  
  294. typedef SOMLargeStruct            DETInitBlock;                /* Derived from a struct of 20 bytes in size */
  295.  
  296. typedef SOMLargeStruct            DETExitBlock;                /* Derived from a struct of 16 bytes in size */
  297.  
  298. typedef SOMLargeStruct            DETInstanceInitBlock;        /* Derived from a struct of 38 bytes in size */
  299.  
  300. typedef SOMLargeStruct            DETInstanceExitBlock;        /* Derived from a struct of 38 bytes in size */
  301.  
  302. typedef SOMLargeStruct            DETInstanceIdleBlock;        /* Derived from a struct of 38 bytes in size */
  303.  
  304. typedef SOMLargeStruct            DETPropertyCommandBlock;    /* Derived from a struct of 44 bytes in size */
  305.  
  306. typedef SOMLargeStruct            DETMaximumTextLengthBlock;    /* Derived from a struct of 44 bytes in size */
  307.  
  308. typedef SOMLargeStruct            DETViewListChangedBlock;    /* Derived from a struct of 38 bytes in size */
  309.  
  310. typedef SOMLargeStruct            DETPropertyDirtiedBlock;    /* Derived from a struct of 40 bytes in size */
  311.  
  312. typedef SOMLargeStruct            DETValidateSaveBlock;        /* Derived from a struct of 42 bytes in size */
  313.  
  314. typedef SOMLargeStruct            DETDropQueryBlock;            /* Derived from a struct of 82 bytes in size */
  315.  
  316. typedef SOMLargeStruct            DETDropMeQueryBlock;        /* Derived from a struct of 82 bytes in size */
  317.  
  318. typedef SOMLargeStruct            DETAttributeCreationBlock;    /* Derived from a struct of 70 bytes in size */
  319.  
  320. typedef SOMLargeStruct            DETAttributeNewBlock;        /* Derived from a struct of 92 bytes in size */
  321.  
  322. typedef SOMLargeStruct            DETAttributeChangeBlock;    /* Derived from a struct of 100 bytes in size */
  323.  
  324. typedef SOMLargeStruct            DETAttributeDeleteBlock;    /* Derived from a struct of 48 bytes in size */
  325.  
  326. typedef SOMLargeStruct            DETItemNewBlock;            /* Derived from a struct of 38 bytes in size */
  327.  
  328. typedef SOMLargeStruct            DETShouldSyncBlock;            /* Derived from a struct of 40 bytes in size */
  329.  
  330. typedef SOMLargeStruct            DETDoSyncBlock;                /* Derived from a struct of 38 bytes in size */
  331.  
  332. typedef SOMLargeStruct            DETPatternInBlock;            /* Derived from a struct of 58 bytes in size */
  333.  
  334. typedef SOMLargeStruct            DETPatternOutBlock;            /* Derived from a struct of 62 bytes in size */
  335.  
  336. typedef SOMLargeStruct            DETOpenSelfBlock;            /* Derived from a struct of 40 bytes in size */
  337.  
  338. typedef SOMLargeStruct            DETConvertToNumberBlock;    /* Derived from a struct of 44 bytes in size */
  339.  
  340. typedef SOMLargeStruct            DETConvertToRStringBlock;    /* Derived from a struct of 44 bytes in size */
  341.  
  342. typedef SOMLargeStruct            DETConvertFromNumberBlock;    /* Derived from a struct of 44 bytes in size */
  343.  
  344. typedef SOMLargeStruct            DETConvertFromRStringBlock;    /* Derived from a struct of 44 bytes in size */
  345.  
  346. typedef SOMLargeStruct            DETCustomViewDrawBlock;        /* Derived from a struct of 40 bytes in size */
  347.  
  348. typedef SOMLargeStruct            DETCustomViewMouseDownBlock; /* Derived from a struct of 44 bytes in size */
  349.  
  350. typedef SOMLargeStruct            DETKeyPressBlock;            /* Derived from a struct of 44 bytes in size */
  351.  
  352. typedef SOMLargeStruct            DETPasteBlock;                /* Derived from a struct of 42 bytes in size */
  353.  
  354. typedef SOMLargeStruct            DETCustomMenuSelectedBlock;    /* Derived from a struct of 40 bytes in size */
  355.  
  356. typedef SOMLargeStruct            DETCustomMenuEnabledBlock;    /* Derived from a struct of 42 bytes in size */
  357.  
  358. typedef SOMLargeStruct            DETForwarderListItem;        /* Derived from a struct of 1032 bytes in size */
  359.  
  360. typedef OpaquePtr                DETForwarderListPtr;        /* Substituted OpaquePtr for ``DETForwarderListItem*'' */
  361.  
  362. typedef OpaquePtr                DETForwarderListHandle;        /* Substituted OpaquePtr for ``DETForwarderListPtr*'' */
  363.  
  364. typedef SOMLargeStruct            DETDynamicForwardersBlock;    /* Derived from a struct of 20 bytes in size */
  365.  
  366. typedef SOMLargeStruct            DETDynamicResourceBlock;    /* Derived from a struct of 50 bytes in size */
  367.  
  368. typedef SOMLargeStruct            DETCallBlock;                /* Derived from a struct of 1646 bytes in size */
  369.  
  370. /* Call-for list: */
  371. typedef OpaquePtr DETCallProcPtr;
  372. typedef OpaquePtr DETCallUPP;
  373. typedef DETCallUPP                DETCall;
  374.  
  375. /* This following macro saves you from having to dig out the call-back pointer from the call block: */
  376. #endif
  377.  
  378. #endif /* __SOMIDL__ */
  379.  
  380. #endif /* __OCETEMPLATES_IDL__ */
  381.  
  382.